Obvious Properties of Computer Programs
نویسنده
چکیده
We explore the question of what properties of LISP programs can be made \obvious" to a computer system. We present a polynomial-time algorithm for inferring interesting properties of pure LISP programs. Building on previous work in knowledge representation for rapid inference, we present a language for representing properties of programs. We treat properties as generalized types, i.e., sets of program values. The property language is expressive enough to represent any RE set of LISP values as a property, and can naturally represent a wide variety of useful properties. We then use a general technique to construct a polynomial-time property inference relation and use type-inference style program analysis to integrate this relation into an algorithm for inferring properties of programs. This algorithm is intended to work in the context of a library of background information, most of which is typically derived from previous runs of the algorithm. Due to the expressive representation system , no algorithm can infer every valid property| so instead of proving completeness we show our al-gorithm's usefulness by giving examples of properties inferred. These examples include that insertion sort returns a sorted permutation of its input, and that a clique nding program correctly returns a clique.
منابع مشابه
مطالعه تطبیقی دو منظر «بازیشناسی» و «روایتشناسی» به تحلیل ظرفیتهای زیباشناختی بازیهای رایانهای هدفمند
Serious Computer Games are a kind of computer games that in contrary of mainstream computer games’ industry, necessity of mercantile benefits has less importance in their circle of production. Desired aim for producing Serious Games is make obvious informational, attitudinal, behavioral and cognitive changes in players in according to definite pedagogical, educational, instructional, prom...
متن کاملTiming Properties and Correctness for Structured Parallel Programs on x86-64 Multicores
This paper determines correctness and timing properties for structured parallel programs on x86-64 multicores. Multicore architectures are increasingly common, but real architectures have unpredictable timing properties, and commonly used relaxed-memory concurrency models mean that even functional correctness is not obvious. This paper takes a rigorous approach to correctness and timing propert...
متن کاملHigh Assurance Computer Systems: A Research Agenda
As computers and their supporting communication networks have become increasingly enmeshed in our national technological fabric, we have become increasingly dependent on high assurance computer systems, i.e., computer systems for which compelling evidence is required that the system delivers its services in a manner that satis es certain critical properties. Obvious examples of high assurance s...
متن کاملRole of E-Learning in Teaching Anatomical Sciences
Introduction: Medical undergraduates usually understand and memorize anatomical course material with difficulty. Also, the current text books and atlases of anatomy and histology do not fulfill all the learning needs of the undergraduates. Therefore, it is necessary to consider the role of internet websites and computer programs (i.e. the role of electronic learning) in teaching....
متن کاملLifting Numerical Abstract Domains to Heap-manipulating Programs
The abstract interpretation literature is rich with numerical abstract domains that allow to infer numerical properties on scalar program variables. Unfortunately, lifting this domains to heap-manipulating programs is not obvious. On the other hand, points-to analyses have been intensively studied and some scale to very large programs but without inferring any numerical properties. We propose a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997